package org.z23.agentwork.work;

import jakarta.annotation.Resource;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.stereotype.Service;

@Service
public class Agent3 {

    private final ChatClient chatClient;

    public Agent3(ChatClient.Builder chatClientBuilder, ToolCallbackProvider tools) {
        String systemPrompt = """
                你作为对话助手Agent，请严格按以下步骤为用户推荐穿衣搭配：
             
                ### 步骤1：检查是否成功获取天气建议
                此时不要返回给用户任何结果，因为还需要进行下一个步骤
                
                ### 步骤2：检查是否成功获取穿衣建议
                此时不要返回给用户任何结果，因为还需要进行下一个步骤
                
                ### 步骤3：返回建议
                这是最后一步，整理语言后输出穿衣建议，结束对话。
                如果没有收到任何结果，则输出检索失败，请重新尝试
                """;
        this.chatClient = chatClientBuilder.defaultSystem(systemPrompt).defaultToolCallbacks(tools).build();
    }

    public void chat(){
        String s = "检索失败，请重新尝试";
        chatClient.prompt(s).call().content();
    }
    public void answer(String weatherInfo, String dressingAdvice){
        chatClient.prompt(weatherInfo + dressingAdvice).call().content();
    }
}
